home *** CD-ROM | disk | FTP | other *** search
- (*===========================================================================*)
- (* Window routines *)
- (* *)
- (* Copyright 1988, 1989, 1990, 1991 by H. Roy Engehausen. All rights *)
- (* reserved. *)
- (* *)
- (*===========================================================================*)
-
- {$DEFINE POINT_CHK}
- {$UNDEF POINT_CHK}
- {$DEFINE LOOP_POINT_CHK}
- {$DEFINE FREE_CHK}
- {$UNDEF DEBUG} (* For writing *)
-
- UNIT BBWIN;
-
- INTERFACE
-
- CONST
-
- window_reset = 0;
- window_connect = 1;
- window_monitor = 2;
- window_operator = 3;
-
- window_segments = 2;
- window_full_screen = 0;
- window_top_screen = 1;
- window_bottom_screen = 2;
-
- (*----- In BBWINAD ----- *)
-
- PROCEDURE window_select(window_number:BYTE);
- PROCEDURE window_activate(window_number:BYTE);
- PROCEDURE window_deactivate(window_number:BYTE);
- PROCEDURE window_swap;
- PROCEDURE window_clear(window_number : BYTE);
-
- (*----- In BBWINW ----- *)
-
- PROCEDURE window_write(put_prefix, put_string : STRING);
- PROCEDURE window_write_critical(put_prefix, put_string : STRING);
- PROCEDURE window_write_critical_i(put_prefix : STRING; put_number : LONGINT);
-
- (*----- In BBWINST ----- *)
-
- PROCEDURE window_status_line(status_string : STRING);
-
- (*----- In BBWINS ----- *)
-
- PROCEDURE scr_window(up_or_down : BOOLEAN; number_of_lines : WORD);
-
- (*----- In BBWINM1 ----- *)
-
- PROCEDURE color(parm:WORD);
- PROCEDURE window_erase_eol(wn : BYTE);
- FUNCTION window_cursor_update(new_place : BYTE) : BYTE;
- PROCEDURE window_cursor_size(cursor_size : BOOLEAN);
-
- (*----- In BBWINM3 ----- *)
-
- FUNCTION get_window_x(window_number : BYTE) : WORD;
- FUNCTION get_window_y(window_number : BYTE) : WORD;
- FUNCTION who_is_in_window (this_location : BYTE) : BYTE;
- PROCEDURE window_refresh(w_no : BYTE);
-
- (*===========================================================================*)
- (* Global variables *)
- (*===========================================================================*)
-
- {$I BBWING.PAS}
-
- IMPLEMENTATION
-
- USES
- CRT,
- DOS,
- bbbug,
- bbdummy,
- bbdump,
- bbmisc3,
- bbstack,
- bbstr;
-
- {$DEFINE DEPTH}
-
- (*===========================================================================*)
- (* Forwards *)
- (*===========================================================================*)
-
- PROCEDURE put_bot_line (in_w : window_data_ptr; more_to_come : BOOLEAN);
- FORWARD;
-
- (*===========================================================================*)
- (* Activate/deactivate/select *)
- (*===========================================================================*)
-
- {$I BBWINAD.PAS}
-
- (*===========================================================================*)
- (* Status line *)
- (*===========================================================================*)
-
- {$I BBWINST.PAS}
-
- (*===========================================================================*)
- (* Miscellaneous # 1 -- Cursor control/Erase EOL/Color *)
- (*===========================================================================*)
-
- {$I BBWINM1.PAS}
-
- (*===========================================================================*)
- (* Miscellaneous # 2 -- Find actual window top/Get new window line *)
- (*===========================================================================*)
-
- {$I BBWINM2.PAS}
-
- (*===========================================================================*)
- (* Miscellaneous # 3 -- Get x,y, who is in, refresh *)
- (*===========================================================================*)
-
- {$I BBWINM3.PAS}
-
- (*===========================================================================*)
- (* Write *)
- (*===========================================================================*)
-
- {$I BBWINW.PAS}
-
- (*===========================================================================*)
- (* Scroll *)
- (*===========================================================================*)
-
- {$I BBWINS.PAS}
-
- END.